package sparkml_study

import org.apache.spark.sql.SparkSession
import org.apache.spark.ml.linalg.{Matrices, Matrix}

object matrix_JuZhen {
  def main(args: Array[String]): Unit = {
    /*
        矩阵分为稠密矩阵和稀疏矩阵
     */

      val spark=SparkSession.builder()
        .master("local[*]")
        .appName("matrix(矩阵)")
        .getOrCreate()

    //  创建一个稠密(dense)矩阵,下面是创建一个3行2列的矩阵,并且是按照列来从数组里面选取数据的
    val dense_matrix:Matrix=Matrices.dense(3,2,Array(1.0,3.0,5.0,2.0,4.0,6.0))
    println(dense_matrix)

    //  创建一个稀疏(sparse)矩阵  前面的3和2代表的也是3行2列,
    val sparse_matrix=Matrices.sparse(
      3,2,
      Array(0,1,3),Array(0,2,1),Array(9,6,8)
    )
    print(sparse_matrix)



    //  读取特征向量(libsvm),特征向量默认为稀疏向量
    val libsvm_data=spark.read.format("libsvm")
      .option("numFeatures","780")
      .load("hdfs://192.168.40.110:9000/spark_test_data/mllib/sample_libsvm_data.txt")

libsvm_data.show(10)











    spark.close()
  }

}
